package hu.debrecen.adastra.card.service.domain;

import hu.debrecen.adastra.card.service.domain.HungarianCard.Suit;
import hu.debrecen.adastra.card.service.domain.HungarianCard.Type;

import java.util.LinkedList;
import java.util.List;

public class HungarianDeck extends AbstractDeck<HungarianCard> {

	public HungarianDeck() {
		super(HungarianDeck.createCards());
	}

	public static List<HungarianCard> createCards() {

		List<HungarianCard> cards = new LinkedList<HungarianCard>();
		cards.add(new HungarianCard(Type.VII, Suit.HEARTS));
		cards.add(new HungarianCard(Type.VIII, Suit.HEARTS));
		cards.add(new HungarianCard(Type.IX, Suit.HEARTS));
		cards.add(new HungarianCard(Type.X, Suit.HEARTS));
		cards.add(new HungarianCard(Type.UNDER, Suit.HEARTS));
		cards.add(new HungarianCard(Type.OVER, Suit.HEARTS));
		cards.add(new HungarianCard(Type.KING, Suit.HEARTS));
		cards.add(new HungarianCard(Type.ACE, Suit.HEARTS));

		cards.add(new HungarianCard(Type.VII, Suit.ACORNS));
		cards.add(new HungarianCard(Type.VIII, Suit.ACORNS));
		cards.add(new HungarianCard(Type.IX, Suit.ACORNS));
		cards.add(new HungarianCard(Type.X, Suit.ACORNS));
		cards.add(new HungarianCard(Type.UNDER, Suit.ACORNS));
		cards.add(new HungarianCard(Type.OVER, Suit.ACORNS));
		cards.add(new HungarianCard(Type.KING, Suit.ACORNS));
		cards.add(new HungarianCard(Type.ACE, Suit.ACORNS));

		cards.add(new HungarianCard(Type.VII, Suit.BELLS));
		cards.add(new HungarianCard(Type.VIII, Suit.BELLS));
		cards.add(new HungarianCard(Type.IX, Suit.BELLS));
		cards.add(new HungarianCard(Type.X, Suit.BELLS));
		cards.add(new HungarianCard(Type.UNDER, Suit.BELLS));
		cards.add(new HungarianCard(Type.OVER, Suit.BELLS));
		cards.add(new HungarianCard(Type.KING, Suit.BELLS));
		cards.add(new HungarianCard(Type.ACE, Suit.BELLS));

		cards.add(new HungarianCard(Type.VII, Suit.GREEN));
		cards.add(new HungarianCard(Type.VIII, Suit.GREEN));
		cards.add(new HungarianCard(Type.IX, Suit.GREEN));
		cards.add(new HungarianCard(Type.X, Suit.GREEN));
		cards.add(new HungarianCard(Type.UNDER, Suit.GREEN));
		cards.add(new HungarianCard(Type.OVER, Suit.GREEN));
		cards.add(new HungarianCard(Type.KING, Suit.GREEN));
		cards.add(new HungarianCard(Type.ACE, Suit.GREEN));

		return cards;
	}

}
